Efficient hub switching for mobile network devices

ABSTRACT

A system for efficient hub switching of mobile network devices is disclosed. The system includes a peripheral device (PD), a first control hub, and a second control hub. The PD includes a wireless long range transceiver and a microcontroller, and is controlled wirelessly by the first control hub. The first control hub and second network hub each have a wireless long range transceiver, hardware processors, and hardware memory that stores system operation information. The system operation information includes instructions for controlling the PD. Additionally, the system operation information includes instructions for listening for a response from the PD. The listening instructions include an expected response timeframe after the control instructions are sent. The system operation information further includes instructions for requesting the second control hub control the PD. Furthermore, the system operation information includes instructions for taking over control of the PD.

TECHNICAL FIELD

This invention relates generally to the field of the internet of things,and more specifically to local network control of mobile networkdevices.

BACKGROUND

Home and office automation is an ever-growing market focused onstreamlining and simplifying user experiences at home and work. Theproducts and services that can be included in home and office automationsystems vary widely based on user need. Customizable lights, adaptiveblinds and thermometers, remotely controlled entry points, smart doorlocks, smart refrigerators, and smart washers are just a few productsavailable and designed with the purpose of improving a user's life whileat home and work. However, these products and services are limited bythe wired and wireless communication networks of which they are a part.When a networked device moves outside the range of its correspondingcontrol hub, in many cases the device becomes non-operational. Networkswith one device communication hub suffer from limited range and limitednumber of controllable devices on the network. Multi-hub networks aredifficult because devices have to be manually paired to each network hubeither initially or whenever a mobile device moves from one hub'scontrol range to another hub's control range.

SUMMARY OF THE INVENTION

A redundant star network is disclosed that overcomes or improves uponthe limitations discussed above. In general, the system consists of twoor more network hubs. Each network hub includes short and long-rangewireless transceivers and hardware processors and memory to periodicallytest peripheral devices (PD) and update the network hubs controllingthose devices. In the case that a PD does not respond to test signals,the control hub sends a signal to another control hub to take overcontrol of the PD. Control hub redundancy allows for ensured andenduring functionality of PDs networked to the redundant star network.In the case that a PD does not respond to control signals from itscorresponding control hub, control of the PD is rerouted to anothercontrol hub, ensuring that the user can continue to control theperipheral device via the network. The system also includes, in someembodiments, a cloud server that is networked to one or more of thecontrol hubs. The cloud server stores the system operation informationfor the network, which can be accessed by a user via a smartphone,tablet, or computer. The user is notified via the server when a controlhub when control for one or more peripheral devices has switched hubs.

In one embodiment, the system includes a PD, a first control hub, and asecond control hub. The PD includes a wireless long range transceiverand a microcontroller, and is controlled wirelessly by the first controlhub. The first control hub and second network hub each have a wirelesslong range transceiver, hardware processors, and hardware memory thatstores system operation information. The system operation informationincludes instructions for controlling the PD by executing the controlinstructions at the first control hub hardware processors andtransmitting the executed control instructions designated for the PD viathe first control hub wireless long range transceiver. Additionally, thesystem operation information includes instructions for listening for aresponse from the PD in response to the control instructions. Thelistening instructions include an expected response timeframe after thecontrol instructions are sent. The system operation information furtherincludes instructions for requesting the second control hub control thePD. The first control hub processors execute the request instructionswhen the first control hub does not receive the response from the PD inresponse to the control instructions within the expected responsetimeframe. The first control hub transmits, via the first control hubtransceiver, a takeover request designated for the second control hub.Furthermore, the system operation information includes instructions fortaking over control of the PD. The second control hub executes thetakeover instructions upon receiving the takeover request. The secondcontrol hub controls the PD by executing the control instructions at thesecond control hub processors and transmitting the executed controlinstructions designated for the PD via the second control hub wirelesslong range transceiver.

In another embodiment, the system includes a PD, a first control hub,and two or more additional control hubs. The PD includes a wireless longrange transceiver and a microcontroller, and is controlled wirelessly bythe first control hub. The first control hub and two or more additionalcontrol hubs each have a wireless long range transceiver, one or morehardware processors, and hardware memory that stores system operationinformation. The system operation information includes instructions forcontrolling the PD by executing the control instructions at the firstcontrol hub hardware processors and transmitting the executed controlinstructions designated for the PD via the first control hub wirelesslong range transceiver. The system operation information also includesinstructions for transmitting a test signal designated for theperipheral device. Additionally, the system operation includesinstructions for listening for a response from the PD in response to thecontrol instructions, the test signal, or both. The listeninginstructions include an expected response timeframe after the controlinstructions, the test signal, or both are sent. The system operationinformation further includes instructions for requesting the additionalcontrol hubs transmit the test signal. The first control hub processorsexecute the request instructions when the first control hub does notreceive the response from the PD within the expected response timeframe.Additionally, the system operation information includes instructions fortaking over control of the PD. At least one of the additional controlhubs executes the takeover instructions upon receiving the test signalresponse from the PD. The at least one of the additional control hubscontrols the PD by executing the control instructions at the at leastone of the additional hub hardware processors and transmitting theexecuted control instructions designated for the PD via the at least oneadditional control hub wireless long range transceiver.

BRIEF DESCRIPTION OF THE DRAWINGS

A more particular description of the invention briefly described aboveis made below by reference to specific embodiments. Several embodimentsare depicted in drawings included with this application, in which:

FIG. 1 depicts one embodiment of a redundant star network according tothe claimed invention;

FIG. 2 depicts another embodiment of a control hub that controls aperipheral device, and the peripheral device;

FIGS. 3A-D depict an embodiment of a redundant star network includingtwo hubs;

FIGS. 4A-D depict a redundant star network that communicates with acloud server and user device;

FIG. 5 depicts another embodiment of a control hub that controls aperipheral device, and the peripheral device;

FIGS. 6A-E depict an embodiment of a redundant star network includingmultiple hubs;

FIGS. 7A-E depict a redundant star network that communicates with acloud server and user device;

FIG. 8 depicts a specific embodiment of a redundant star network such asa network for a multi-building industrial complex;

FIG. 9 depicts another specific embodiment of a redundant star networksuch as a network for a multi-building industrial complex;

FIG. 10 depicts an example embodiment of a method for communicating overa redundant star network; and

FIG. 11 depicts another example embodiment of a method for communicatingover a redundant star network.

DETAILED DESCRIPTION

A detailed description of the claimed invention is provided below byexample, with reference to embodiments in the appended figures. Those ofskill in the art will recognize that the components of the invention asdescribed by example in the figures below could be arranged and designedin a wide variety of different configurations. Thus, the detaileddescription of the embodiments in the figures is merely representativeof embodiments of the invention, and is not intended to limit the scopeof the invention as claimed.

In some instances, features represented by numerical values, such asdimensions, mass, quantities, and other properties that can berepresented numerically, are stated as approximations. Unless otherwisestated, an approximate value means “correct to within 50% of the statedvalue.” Thus, a length of approximately 1 inch should be read “1inch+/−0.5 inch.”

Throughout this specification, reference is made to “testing” and“controlling,” such as “test signals,” “control signals,” “testinstructions,” “control instructions,” and the like. As used herein,“test” refers to instructions or signals that, when received by adevice, elicit a test response without further action elicited from thedevice. For example, in some embodiments, a test signal is encoded withdata bits for designating a test receive device, data bits identifyingthe test transmit device, and data bits for requesting a test response,in addition to other data required for the signal to be properlyprocessed. The test response is encoded with data bits designating thetest transmit device, data bits identifying the test receive device, anddata bits that respond to the test response request which the testtransmit device recognizes. In many such embodiments, the informationtransmitted is limited to the operational test, omitting controlinstructions that require additional power and functionality of the testreceive device.

In contrast to “test,” as used herein “control” refers to instructionsor signals the instruct a device to perform an operation. In manyembodiments, a control instruction or signal does not require aresponse. However, in many other embodiments, a control instruction orsignal requests return information. For example, in one embodiment, ahub transmits a control signal to a door access control device,instructing the door access control device to update a locally-storedtable of authorized PINs. The control signal includes instructions thatthe door access control device respond to the control instructionsconfirming the table is updated, and the update instructions arecompleted when the door access control device transmits the response. Inanother embodiment, the update instructions are completed when the dooraccess control device updates the table.

All or part of the present invention may be embodied as a system,method, and/or computer program product. The computer program productmay include a computer readable storage medium (or media) havingcomputer readable program instructions thereon for causing a processorto carry out aspects of the present invention. For example, the computerprogram product may include firmware programmed on a microcontroller. Asused herein, “microcontroller” refers to any combination of hardwarememory and hardware processors suitable for the system and methodsdescribed herein. For example, in some embodiments, a microcontroller isa 256 kb-RAM microcontroller. In other embodiments, the microcontrolleris a 64 kb-RAM microcontroller. In yet other embodiments, the hardwarememory and hardware processors are networked on a PCB, where thehardware memory has megabytes to terabytes of memory, and where thehardware processors include processing speeds of 1 MHz to 16 GHz.

The computer readable storage medium may be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, a chemical memory storage device, aquantum state storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including anobject-oriented programming languages such as Smalltalk, C++ or thelike, and conventional procedural programming languages such as the “C”programming language or similar programming languages. Computer programcode for implementing the invention may also be written in a low-levelprogramming language such as assembly language.

In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. Those of skill in the art will understand that each block ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, may beimplemented by computer readable program instructions. Additionally,those of skill in the art will recognize that the system blocks andmethod flowcharts, though depicted in a certain order, may be organizedin a different order and/or configuration without departing from thesubstance of the claimed invention.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer,embedded system, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

FIG. 1 depicts one embodiment of a redundant star network 100 accordingto the claimed invention. Redundant star network 100 includes primarynetwork hub (PNH) 110, one or more secondary network hubs (SNH) 120located remotely from PNH 110, and one or more peripheral devices (PD)130. The PDs 130 are located remotely from the PNH 110 and the SNH 120.PNH 110 has one or more wireless Long range transceivers and one or moremicrocontrollers having communication firmware for long range spreadspectrum (SS) and narrowband frequency shift keying (FSK) signalcommunication via the PNH Long range transceiver. SNH 120 similarly hasone or more wireless Long range transceivers and one or moremicrocontrollers having communication firmware for long range SS andnarrowband FSK signal communication via the SNH Long range transceiver.PD 130 also has, in one embodiment of redundant star network 100, anactuation mechanism, at least one wireless Long range transceiver and atleast one corresponding microcontroller having communication firmwarefor long range SS and narrowband FSK signal communication via the PD 130Long range transceiver. In another embodiment, PD 130 has an actuationmechanism, at least one wireless receiver and at least one correspondingmicrocontroller having receive firmware for long range SS and narrowbandFSK signal communication. In yet another embodiment, PD 130 has anactuation mechanism, at least one wireless transmitter and at least oncorresponding microcontroller having transmit firmware for long range SSand narrowband FSK signal communication.

Though only a few PDs 130 are depicted, in some embodiments, redundantstar network 100 includes several more PDs 130. For example, in oneembodiment, PNH 110 is networked to up to 128 PDs 130. In the sameand/or other embodiments, SNH 120 is networked to up to 64 PDs 130.

As used throughout the claims and specification, long range means anyrange from 0.5 to 30 miles. In some embodiments, long range meansapproximately 1 mile. In other embodiments, long range means rangingfrom 1 to 26 miles. In yet other embodiments, long range meansapproximately 10 miles.

PNH 110, SNH 120, and/or PD 130 communicate via long range SS signals140 and/or narrowband FSK signals 145 based on a range betweencommunicating devices. For example, in one embodiment, PNH 110communicates with one PD 130 via long range SS signals 140 and with asecond PD 130 via narrowband FSK signals 145. In such an example, thisconfiguration would be particularly beneficial where the first PD 130 isoutside a PNH-PD narrowband FSK communication range but within a PNH-PDlong range SS communication range. In another embodiment, a PD 130 ismobile. PNH 110 communicates with PD 130 via narrowband FSK signals 145when PD 130 is within the PNH-PD narrowband FSK range, and via longrange SS signals 140 when PD 130 is outside the PNH-PD narrowband FSKrange. In another embodiment, PNH 110 communicates with PD 130 via longrange SS signals 140 even when PD 130 is within the PNH-PD narrowbandFSK range. Though not shown, in some embodiments, PNH 110 and SNH 120communicate via a wired connection, such as an Ethernet communicationlink.

Many PDs are controlled by instructions consisting of hundreds of bitsto hundreds of kilobits of data. Such instructions thus do not need tobe communicated over high-data rate networks, thus decreasing the powerconsumed in transmitting and receiving information. Rather, low-datainstructions can be transmitted via a low-data rate signal while stillhaving a fast response time, such as within one second. This isparticularly important for battery-operated PDs. PD 130 is, in someembodiments, such a PD, where PD 130 is battery-operated and iscontrolled by instructions consisting of hundreds of bits to hundreds ofthousands of bits. In one embodiment, PD 130 requires from 100 bits to500 kilobits of data for instruction. In this embodiment, long range SSsignals 140 communicate instructions to PD 130 at a rate from 100 bitsper second (bps) to 500 kilobits per second (kbps). In anotherembodiment, PD 130 requires from 200 bits to 300 kilobits of data forinstruction. In this other embodiment, long range SS signals 140communicate instructions to PD 130 at a rate from 200 bps to 300 kbps.In yet another embodiment, PD 130 requires from 1 to 100 kilobits ofdata for instruction. In this embodiment, long range SS signals 140communicate instructions to PD 130 at a rate from 1 to 100 kbps.

In one example, PNH 110 communicates with SNH 120 via long range SSsignals 140. SNH 120 processes communications from PNH 110 and forwardsinformation to PD 130 via narrowband FSK signals 145. Similarly, inanother embodiment, SNH 120 receives information from PNH 110 vianarrowband FSK signals 145, processes the information, and forwardsinformation to PD 130 via long range SS signals 140. As another example,communication between PNH 110, SNH 120 and PD 130 is accomplished viasolely long range SS signals 140 or solely narrowband FSK signals 145.

Long range SS signals 140 are any time of spread spectrum signal. Forexample, in one embodiment, long range SS signals 140 are long rangespread spectrum frequency hopping (SSFH) signals. In another embodiment,long range SS signals 140 are long range direct-sequence spread spectrum(DSSS), time-hopping spread spectrum (THSS), or chirp spread spectrum(CSS) signals. Other embodiments include combinations of two or more ofSSFH, DSSS, THSS, and/or CSS signals. In embodiments comprising SSFH,DSSS, THSS, and/or CSS signals, the microcontrollers described aboveinclude firmware having instructions for communicating using thesesignals. For example, in one embodiment, the PNH microcontrollerfirmware includes instructions for long range SSFH signal communication.In the same or another embodiment, the SNH microcontroller firmwaresimilarly includes instructions for long range SSFH signalcommunication. Additionally, in the same or other embodiments, the PDmicrocontroller firmware includes instructions for long range SSFHsignal communication. In one embodiment, the microcontroller firmware ofthe PNH, SNH and PD all include instructions for long range SSFH signalcommunication.

In one embodiment, each SNH 120 is associated with a particular group ofPDs 130, where each PD 130 is associated with only one SNH 120. PNH 110stores high-level system operation information and instructions. Thesystem operation information and instructions include operationinstructions for SNHs 120 and PDs 130, and information about which PD130 is associated with which SNH 120. PNH 110 transmits operationinformation and instructions to each SNH 120 for that hub only and itsassociated PDs. SNH 120 stores the operation information andinstructions sent by PNH 110 and transmits and/or receives information,including instructions, to and/or from its associated PDs 130. Thus, PNH110 acts as a system-wide control hub, and SNHs 120 act as local controlhubs. This embodiment allows for robust communication with many deviceswhile avoiding the interference and lag time of a single-hub system.

PD 130 may be any of a variety of apparatuses that include an actuationmechanism. In one embodiment, PD 130 is a gate for an access-controlledenclosure. For example, the enclosure, in one embodiment, is a perimeterfence surrounding a property such as a business, home, industrialcomplex, prison, or other access-controlled enclosures. In anotherembodiment, PD 130 is a door for allowing access to a structure or roomwithin a structure. In one embodiment, PD 130 is a climate-controldevice, such as an HVAC system, for adjusting heating and cooling outputinside a building. In yet another embodiment, PD 130 is an automatedblind system and/or a light switch and/or system of light switches. PD130 is also, in some embodiments, any of various household appliances,such as a refrigerator, stove, oven, dishwasher, clothes washingmachine, clothes dryer, toilet, bath and/or shower, and kitchenappliances. In other embodiments, PD 130 is a personal computer, aprinter/scanner, a fax machine and/or a telephone.

PD 130 is also, in some embodiments, any of a variety of commercialand/or industrial equipment. For example, in one embodiment, PD 130 isan elevator. In another embodiment, PD 130 is one of a variety ofmanufacturing equipment, such as a conveyor belt, a pump, a sensor, amotor, and/or a 3D printer. In yet other embodiments, PD 130 is avehicle and/or a vehicle component such as a starter or a motor. In oneembodiment, PD 130 is a drone.

Redundant star network 100 is a stand-alone network that offers severalbenefits. First, redundant star network 100 operates independently ofthe Internet. Thus, PNH 110 can communicate with each SNH 120 and PD 130even when an external Internet connection is down. Additionally, in someembodiments of redundant star network 100, PNH 110, SNHs 120 and PDs 130are equipped with backup power. The backup power is, in someembodiments, local, such as a battery. In the same or other embodiments,the backup power is an off-grid power source such as a generator orbatteries. In such embodiments, connectivity between PNH 110, SNHs 120and PDs 130, and operability of each, continues through a grid-poweroutage.

An additional benefit of the stand-alone dual modulation networkdescribed above is inherent security. In order for a device to interpreta long range SS signal, it must know which frequencies to check. Inredundant star network 100, each of PNH 110, SNHs 120 and PDs 130 areprogrammed with a unique frequency sequence for redundant star network100. External observers not aware of the unique frequency sequence wouldinterpret the signals from redundant star network 100 as noise, even ifthe observer were trying to intercept signals from redundant starnetwork 100. For added security, PNH 110, SNHs 120 and PDs 130 include,in some embodiments, tamper firmware that notifies an authorized userthat the device has been tampered with before an unauthorized user canobtain the frequency sequence, automatically changes the frequencysequence, and updates other devices on the network with the newfrequency sequence. For example, PNH 110 receives a tamper signal fromPD 130. PNH 110 changes the frequency sequence and updates SNHs 120 andother PDs 130 with the new sequence. PNH 110 then notifies an authorizeduser that PD 130 has been tampered with and the frequency sequence hasbeen updated.

The foregoing PD 130 embodiments described are examples only, and arenot to be construed as limiting the scope of PD 130. Rather, PD 130 isany device or system that includes an actuation mechanism that performsa tangible function, such as turning a light in a room on or off,unlocking and/or opening a gate, and opening and/or closing blinds.

FIG. 2 depicts another embodiment of a control hub that controls aperipheral device, and the peripheral device. Network 200 includescontrol hub 210 and PD 220. PD 220 includes wireless long rangetransceiver 221 and microcontroller 222. Control hub 210 includes one ormore wireless long range transceivers 211, one or more hardwareprocessors 212, and hardware memory 213. Hardware memory 213 storessystem operation information for network 200. The system operationinformation includes instructions for controlling PD 220. Control hub210 controls PD 220 by executing control instructions 214 at hardwareprocessors 212 and transmitting 530 the executed control instructions,which are designated for PD 220, via transceiver 211. For example, inone embodiment, PD 220 is an automated room light, and the controlinstructions include instructions to dim the light. Control hub 210executes control instructions 214 and transmits signal 230 instructingPD 220 to dim. PD 220 receives the signal at transceiver 221 and, inresponse to the instruction, dims.

The system operation information also includes instructions forlistening for response 231 from the peripheral device in response tocontrol instructions 214. Listening instructions 215 include an expectedresponse timeframe after control instructions 213 are sent. When controlhub 210 does not receive response 231 from PD 220 in response to controlinstructions 214 sent via control signal 231 within the expectedresponse timeframe, the system information includes request instructions216 for requesting another control hub (not depicted here, but shown insubsequent figures) take over control of PD 220. Processors 212 executerequest instructions 216, and control hub 210 transmits, viatransceivers 211, a takeover request designated for the other controlhub. The system operation information is also stored by the othercontrol hub, and includes takeover instructions 217 for taking overcontrol of PD 220. The other control hub executes takeover instructions217 upon receiving the takeover request from control hub 210. The othercontrol hub controls PD 220 by executing control instructions 214 atother control hub hardware processors and transmitting the executedcontrol instructions 214 designated for PD 220 via an other control hubwireless long range transceiver. PD 220 receives control instructions214 from the other control hub via transceiver 221 and executes controlinstructions 214 at microcontroller 222. For example, in one embodiment,PD 210 is an electronic tablet. Control instructions 214 includeinstructions for sending the tablet a notification when a door isaccessed. However, the tablet is taken outside control hub's 210communication range. Control hub 210 notifies another control hub tosend the door access notification to the tablet, which is in the othercontrol hub's communication range, and the other control hub sends thenotification to the tablet.

FIGS. 3A-D depict an embodiment of a redundant star network includingtwo hubs. Network 300 includes control hub 310, a second control hub315, and PD 320. Control hub 310 and PD 320 are similar to control hub210 and PD 220 described above. Similar to control hub 310, control hub320 includes a wireless long range transceiver, one or more hardwareprocessors, and hardware memory that stores the system operationinformation. Control hub 310 controls PD 320 via control signals 330,and PD 320 responds 331 to control instructions. As depicted in FIG. 3B,in some embodiments, control signals 330 and response signals 331 failto establish communication between control hub 310 and PD 320. Asdepicted in FIG. 3C, control hub 310 sends takeover request signals 340to control hub 315 to request that control hub 315 take over control ofPD 320. In some embodiments, control hub 315 responds 341 to acknowledgethe takeover request. As depicted in FIG. 3D, control hub 315 transmitsthe control instructions to PD 320 via control signals 330. When PD 320is within a communication range of control hub 315 and PD 320, PD 320executes the control instructions and, in some embodiments, responds 331to control signals 330. In some embodiments, control hub 315 notifiescontrol hub 310 that PD 320 responds to control signals 330, and eachupdates the system operation information to designate control hub 315 asPD's 320 control hub.

As depicted above with regard to FIGS. 2 and 3A-D, the PDmicrocontroller, the control hub hardware memory, and/or the othercontrol hub hardware memory include signal communication instructionsfor communicating long range spread spectrum signals, narrowbandfrequency shift keying signals, or both. The signal communicationinstructions are executed by one or more of the PD microcontroller, thecontrol hub hardware processors, or the other control hub hardwareprocessors to transmit long range spread spectrum signals, narrowbandfrequency shift keying signals, or both, via one or more of the PDtransceiver, the control hub transceiver, or the other control hubtransceiver.

FIGS. 4A-D depict a redundant star network that communicates with acloud server and user device. Network 400 includes control hub 410,control hub 415, and PD 420, each of which are similar to the controlhubs and PDs described above with regards to FIGS. 2 and 3A-D.Additionally, network 400 includes server 450, which is one among acloud of servers. Server 450 is networked to control hub 415 and, insome embodiments (though not depicted) control hub 415 via wired networkconnection 451. Server 450 includes hardware memory that stores thesystem operation information. Server 450 is also, in the depictedembodiment, networked to user device 460, and pushes system information,such as updates and operations performed by networked devices, to userdevice 460.

Control hub 410 controls PD 420 via control signals 430. In someembodiments, PD 420 responds to control signals 430 when the controlinstructions are executed by PD 420 via response signals 431. Asdepicted in FIG. 4B, in some embodiments, control signals 430 andresponse signals 431 fail to establish communication between control hub410 and PD 420. As depicted in FIG. 3C, control hub 410 sends takeoverrequest signals 440 to control hub 415 to request that control hub 415take over control of PD 420. In some embodiments, control hub 415responds 441 to acknowledge the takeover request. Additionally, in someembodiments, control hub 410 and/or control hub 415 transmit thetakeover request and/or acceptance of the takeover request via wirednetwork connection 451. For example, in one embodiment, the systemoperation information includes instructions that instruct control hub410 to notify server 450 response 431 from PD 420 is not received bycontrol hub 410, and control hub 410 requested control hub 415 take overcontrol of PD 420. Furthermore, in some embodiments, the server hardwarememory stores instructions that instruct server 450 to notify a user viauser device 460 response 431 from PD 420 is not received by control hub410, and control hub 410 requested control hub 415 take over control ofPD 420.

As depicted in FIG. 4D, control hub 415 transmits the controlinstructions to PD 420 via control signals 430. When PD 420 is within acommunication range of control hub 415 and PD 420, PD 420 executes thecontrol instructions and, in some embodiments, responds via responsesignals 431 to control signals 430. In some embodiments, the systemoperation information includes instructions that instruct control hub415 to notify server 450 the takeover instructions are executed bycontrol hub 415. In further embodiments, the server hardware memorystores instructions that instruct server 450 to notify a user via userdevice 460 the takeover instructions are executed by control hub 415.

FIG. 5 depicts another embodiment of a control hub that controls aperipheral device, and the peripheral device, similar to FIG. 2. Network500 includes control hub 510 and PD 520. PD 520 includes wireless longrange transceiver 521 and microcontroller 522. Control hub 510 includesone or more wireless long range transceivers 511, one or more hardwareprocessors 512, and hardware memory 513. Hardware memory 513 storessystem operation information for network 500. The system operationinformation includes instructions for controlling PD 520. Control hub510 controls PD 520 by executing control instructions 514 at hardwareprocessors 512 and transmitting the executed control instructions, whichare designated for PD 520, via transceiver 511. Control hub 510transmits control instructions 514 to PD 520 via control signals 530.

The system operation information also includes instructions forlistening for response 531 from the peripheral device in response tocontrol instructions 514. Listening instructions 515 include an expectedresponse timeframe after control instructions 514 are sent. When controlhub 510 does not receive response 531 from PD 520 in response to controlinstructions 514 sent via control signal 531 within the expectedresponse timeframe, the system information includes request instructions516 for requesting two or more additional control hubs (not depictedhere, but shown in subsequent figures) test PD 520 by transmitting atest signal designated for PD 520. The system operation informationincludes test instructions 517, which instruct control hub 510 and/orthe other control hubs to transmit the test signal. Processors 512execute request instructions 516, and control hub 510 transmits, viatransceivers 511, the test request designated for the other controlhubs. The system operation information is also stored by the othercontrol hubs, and includes takeover instructions 518 for taking overcontrol of PD 520. One of the other control hubs establishes aconnection with PD 520, and then executes takeover instructions 518 uponreceiving a test signal response from PD 520. The connected control hubcontrols PD 520 by executing control instructions 514 at connectedcontrol hub hardware processors and transmitting the executed controlinstructions 514 designated for PD 520 via a connected control hubwireless long range transceiver. PD 520 receives control instructions514 from the connected control hub via transceiver 521 and executescontrol instructions 514 at microcontroller 522.

FIGS. 6A-E depict an embodiment of a redundant star network includingmultiple hubs. Network 600 includes control hub 610, second control hub612, third control hub 614, and PD 620. Control hubs 610, 612, 614 andPD 620 are similar to control hub 510 and PD 520 described above,respectively. Control hub 612 controls PD 620 via control signals 630,and PD 620 responds via response signals 631 to control instructionsfrom control hub 612. As depicted in FIG. 6B, in some embodiments,control signals 630 and response signals 631 fail to establishcommunication between control hub 612 and PD 620. As depicted in FIG.6C, control hub 612 sends test request signals 640 to control hubs 610,614 to request that control hubs 610, 614 test whether PD 620 is withina transmit receive range for either control hub 610, 614. In someembodiments, control hubs 610, 614 respond via test request responsesignals 641 to acknowledge the test request. As depicted in FIG. 6D,control hubs 610, 612, 614 send test signals 650 to test whether PD 620is within a transmit-receive range for any of control hubs 610, 612,614. When PD 620 is within a transmit receive range, such as within atransmit-receive range between control hub 610 and PD 620, PD respondsto test signal 650 with test response signal 651, notifying control hub610 to take over control of PD 620. As depicted in FIG. 6E, control hub610 transmits the control instructions to PD 620 via control signals630. PD 620 executes the control instructions and, in some embodiments,responds via control response signals 631 to control signals 630. Insome embodiments, control hub 610 notifies control hubs 612, 614 that PD620 responds to control signals 630, and each updates the systemoperation information to designate control hub 610 as PD's 620 controlhub.

As depicted above with regard to FIGS. 5 and 6A-E, the PDmicrocontroller, the control hub hardware memory, and/or the othercontrol hubs' hardware memory include signal communication instructionsfor communicating long range spread spectrum signals, narrowbandfrequency shift keying signals, or both. The signal communicationinstructions are executed by one or more of the PD microcontroller, thecontrol hub hardware processors, or the other control hubs' hardwareprocessors to transmit long range spread spectrum signals, narrowbandfrequency shift keying signals, or both, via one or more of the PDtransceiver, the control hub transceiver, or the other control hubs'transceivers.

FIGS. 7A-E depict a redundant star network that communicates with acloud server and user device. As depicted in FIG. 7A, network 700includes control hub 710, control hub 712, control hub 714 and PD 720,each of which are similar to the control hubs and PDs described abovewith regards to FIGS. 5 and 6A-E. Additionally, network 700 includesserver 750, which is one among a cloud of servers. Server 750 isnetworked to control hub 712 and, in some embodiments (though notdepicted) control hubs 710, 714 via wired network connection 751. Server750 includes hardware memory that stores the system operationinformation. Server 750 is also, in the depicted embodiment, networkedto user device 760, and pushes system information, such as updates andoperations performed by networked devices, to user device 760.

Control hub 712 controls PD 720 via control signals 730. In someembodiments, PD 720 responds to control signals 730 when the controlinstructions are executed by PD 720 via response signals 731. Asdepicted in FIG. 7B, in some embodiments, control signals 730 andresponse signals 731 fail to establish communication between control hub712 and PD 720. As depicted in FIG. 7C, control hub 712 sends testrequest signals 740 to control hubs 710, 714 to request that controlhubs 710, 714 test whether PD 720 is within a transmit receive range foreither control hub 710, 714. In some embodiments, control hubs 710, 714respond via test request response signals 741 to acknowledge the testrequest. Additionally, in some embodiments, control hub 712, control hub710 and/or control hub 714 transmit the test request and/or acceptanceof the test request via wired network connection 751. For example, inone embodiment, the system operation information includes instructionsthat instruct control hub 712 to notify server 750 response 731 from PD720 is not received by control hub 712, and control hub 710 requestedcontrol hubs 710, 714 send test signals to PD 720. Furthermore, in someembodiments, the server hardware memory stores instructions thatinstruct server 750 to notify a user via user device 760 response 731from PD 720 is not received by control hub 712, and control hub 712requested control hubs 710, 714 send test signals to PD 720.

As depicted in FIG. 7D, control hubs 710, 712, 714 send test signals 750to test whether PD 720 is within a transmit-receive range for any ofcontrol hubs 710, 712, 714. When PD 720 is within a transmit receiverange, such as within a transmit-receive range between control hub 710and PD 720, PD responds to test signal 750 with test response signal751, notifying control hub 710 to take over control of PD 720.

As depicted in FIG. 7E, control hub 710 transmits the controlinstructions to PD 720 via control signals 730. PD 720 executes thecontrol instructions and, in some embodiments, responds via responsesignals 731 to control signals 730. In some embodiments, the systemoperation information includes instructions that instruct control hub710 to notify server 750 via wired connection 751 the takeoverinstructions are executed by control hub 710. In further embodiments,the server hardware memory stores instructions that instruct server 750to notify a user via user device 760 the takeover instructions areexecuted by control hub 710.

FIG. 8 depicts a specific embodiment of a redundant star network such asa network for a multi-building industrial complex. Industrial complex800 includes building 810, which houses network hub 815, and building820, which houses network 825. Industrial complex 800 includes severalmobile PDs that are transported around industrial complex 800. In thepresent embodiment, the PD is handheld barcode scanner 830 for trackinginventory. Scanner 830 includes a long range transceiver andmicrocontroller as described for PDs above. Network hubs 815, 825 storeinventory location information for inventory located around industrialcomplex 800. In one example embodiment, a user requests to know, viascanner 830, when certain inventory arrives at industrial complex 800.Scanner 830 transmits the request to network hub 815, which updates thesystem operation information with the request. When the certaininventory arrives at industrial complex 800, network hub 815 transmits anotification and receipt request to scanner 830, however, scanner 830 islocated outside network hub's 815 range. Network hub 815 requestsnetwork hub 825 take over control of scanner 830 and transmit thenotification to scanner 830. Network hub 830 transmits the notificationand receipt request to scanner 830, which receives the notification andsends the request receipt response to network hub 825.

FIG. 9 depicts another specific embodiment of a redundant star networksuch as a network for a multi-building industrial complex. Industrialcomplex 900 includes building 910, which houses network hub 915,building 920, which houses network 825, and building 940 which housesnetwork hub 945. Industrial complex 900 includes several mobile PDs thatare transported around industrial complex 900. In the presentembodiment, the PD is handheld barcode scanner 930 for trackinginventory. Scanner 930 includes a long range transceiver andmicrocontroller as described for PDs above. Network hubs 915, 925, 945store inventory location information for inventory located aroundindustrial complex 900. In one example embodiment, a user requests toknow, via scanner 930, when certain inventory arrives at industrialcomplex 900. Scanner 930 transmits the request to network hub 915, whichupdates the system operation information with the request. When thecertain inventory arrives at industrial complex 900, network hub 915transmits a notification and receipt request to scanner 930, however,scanner 930 is located outside network hub's 915 range. Network hub 915requests network hubs 925, 945 send test signals designated for scanner930 to test where scanner 930 is around industrial complex 900. Networkhubs 915, 925, 945 transmit test signals designated for scanner 930, andscanner 930 responds to test signals send from, for example, network hub945. Network hub 945 takes over control of scanner 930 and transmits thenotification to scanner 930. Network hub 930 transmits the notificationand receipt request to scanner 930, which receives the notification andsends the request receipt response to network hub 945.

In addition to the benefits already discussed, a redundant star networkas described above provides power savings for network hubs and PDs,which often run on small batteries with limited power supply. Pollingfor a PD only when functionality of the PD is necessary reduces powerconsumption of the PD and greatly extends battery life for the PD.

FIG. 10 depicts an example embodiment of a method for communicating overa redundant star network. Method 1000 includes block 1010. At block1010, control instructions are accessed by one or more hardwareprocessors of a first control hub. The control instructions are forcontrolling a PD and are stored in hardware memory of the first controlhub. At block 1020, the first control hub hardware processors processthe control instructions, for example, to execute the instructions anddetermine a control signal encoded with the control instructions to besent to the PD. At block 1030, the control instructions are transmittedby a transceiver of the first control hub. At block 1040, the firstcontrol hub listens, via the first control hub transceiver, for acontrol response from the PD in response to the control instructions.The listening is performed over an expected response timeframe. At block1050, the first control hub requests that one or more additional controlhubs transmit a test signal designated for the PD. The first control hubprocessors execute the request instructions when the first control hubdoes not receive the control response from the PD within the expectedresponse timeframe. At block 1060, at least one of the additionalcontrol hubs or the first control hub, or at least one of the additionalcontrol hubs and the first control hub transmit, via respective wirelesslong range transceivers, the test signal. At block 1070, one of theadditional control hubs takes over control of the PD upon receiving atest signal response from the PD. The additional control hub which takesover control of the PD controls the PD.

FIG. 11 depicts another example embodiment of a method for communicatingover a redundant star network. Method 1100 includes block 1110. At block1110, control instructions are accessed by one or more hardwareprocessors of a first control hub. The control instructions are forcontrolling a PD and are stored in hardware memory of the first controlhub. At block 1120, the first control hub hardware processors processthe control instructions, for example, to execute the instructions anddetermine a control signal encoded with the control instructions to besent to the PD. At block 1130, the control instructions are transmittedby a transceiver of the first control hub. At block 1140, the firstcontrol hub listens, via the first control hub transceiver, for acontrol response from the PD in response to the control instructions.The listening is performed over an expected response timeframe. At block1150, the first control hub requests that one or more additional controlhubs transmit a test signal designated for the PD. The first control hubprocessors execute the request instructions when the first control hubdoes not receive the control response from the PD within the expectedresponse timeframe. At block 1160, at least one of the additionalcontrol hubs or the first control hub, or at least one of the additionalcontrol hubs and the first control hub transmit, via respective wirelesslong range transceivers, the test signal. At block 1170, one of theadditional control hubs takes over control of the PD upon receiving atest signal response from the PD. The additional control hub which takesover control of the PD controls the PD by, for example, transmitting acontrol signal to the PD. At block 1180, the PD receives the controlinstructions at a wireless long range transceiver. At block 1190, the PDexecutes the control instructions at a PD microcontroller.

The invention claimed is:
 1. A system comprising: a peripheral devicehaving a wireless long range transceiver and a microcontroller; a firstcontrol hub having a wireless long range transceiver, one or morehardware processors, and hardware memory that stores system operationinformation; and a second control hub having a wireless long rangetransceiver, one or more hardware processors, and hardware memory thatstores the system operation information, wherein the system operationinformation further comprises: instructions for controlling theperipheral device, wherein the first control hub controls the peripheraldevice by executing the control instructions at the first control hubhardware processors and transmitting the executed control instructionsdesignated for the peripheral device via the first control hub wirelesslong range transceiver; instructions for listening for a response fromthe peripheral device in response to the control instructions, whereinthe listening instructions comprise an expected response timeframe afterthe control instructions are sent; instructions for requesting thesecond control hub control the peripheral device, wherein the firstcontrol hub processors execute the request instructions when the firstcontrol hub does not receive the response from the peripheral device inresponse to the control instructions within the expected responsetimeframe, and wherein the first control hub transmits, via the firstcontrol hub transceiver, a takeover request designated for the secondcontrol hub; and instructions for taking over control of the peripheraldevice, wherein the second control hub executes the takeoverinstructions upon receiving the takeover request, and wherein the secondcontrol hub controls the peripheral device by executing the controlinstructions at the second control hub hardware processors andtransmitting the executed control instructions designated for theperipheral device via the second control hub wireless long rangetransceiver.
 2. The system of claim 1, wherein the peripheral devicereceives the control instructions from the second control hub via theperipheral device wireless long range transceiver and executes thecontrol instructions at the microcontroller.
 3. The system of claim 1,further comprising a server, wherein the server is one among a cloud ofservers, wherein the server is networked to the first control hub andthe second control hub via a wired network connection, and wherein theserver comprises hardware memory that stores the system operationinformation.
 4. The system of claim 3, wherein the system operationinformation includes instructions that instruct the first control hub tonotify the server: the response from the peripheral device is notreceived by the first control hub; and the first control hub requestedthe second control hub take over control of the peripheral device. 5.The system of claim 4, wherein the server hardware memory storesinstructions that instruct the server to notify a user: the responsefrom the peripheral device is not received by the first control hub; andthe first control hub requested the second control hub take over controlof the peripheral device.
 6. The system of claim 3, wherein the systemoperation information includes instructions that instruct the secondcontrol hub to notify the server the takeover instructions are executedby the second control hub.
 7. The system of claim 6, wherein the serverhardware memory stores instructions that instruct the server to notify auser the takeover instructions are executed by the second control hub.8. The system of claim 1, wherein one or more of the peripheral devicemicrocontroller, the first control hub hardware memory, or the secondcontrol hub hardware memory comprise signal communication instructionsfor communicating long range spread spectrum signals, narrowbandfrequency shift keying signals, or both, and wherein the signalcommunication instructions are executed by one or more of the peripheraldevice microcontroller, the first control hub hardware processors, orthe second control hub hardware processors to transmit long range spreadspectrum signals, narrowband frequency shift keying signals, or both,via one or more of the peripheral device transceiver, the first controlhub transceiver, or the second control hub transceiver.
 9. A systemcomprising: a peripheral device having a wireless long range transceiverand a microcontroller; a first control hub having a wireless long rangetransceiver, one or more hardware processors, and hardware memory thatstores system operation information; and two or more additional controlhubs, each having a wireless long range transceiver, one or morehardware processors, and hardware memory that stores the systemoperation information, wherein the system operation information furthercomprises: instructions for controlling the peripheral device, whereinthe first control hub controls the peripheral device by executing thecontrol instructions at the first control hub hardware processors andtransmitting the executed control instructions designated for theperipheral device via the first control hub wireless long rangetransceiver; instructions for transmitting a test signal designated forthe peripheral device; instructions for listening for a response fromthe peripheral device in response to the control instructions, the testsignal, or both, wherein the listening instructions include an expectedresponse timeframe after the control instructions, the test signal, orboth, are sent; instructions for requesting the additional control hubstransmit the test signal, wherein the first control hub processorsexecute the request instructions when the first control hub does notreceive the response from the peripheral device within the expectedresponse timeframe; and instructions for taking over control of theperipheral device, wherein at least one of the additional control hubsexecutes the takeover instructions upon receiving the test signalresponse from the peripheral device, and wherein the at least one of theadditional control hubs controls the peripheral device by executing thecontrol instructions at the hardware processors and transmitting theexecuted control instructions designated for the peripheral device viathe second control hub wireless long range transceiver.
 10. The systemof claim 9, wherein the peripheral device receives the controlinstructions from the at least one of the additional control hubs viathe peripheral device wireless long range transceiver and executes thecontrol instructions at the microcontroller.
 11. The system of claim 9,further comprising a server, wherein the server is one among a cloud ofservers, wherein the server is networked to one or more of theadditional control hubs, the first control hub, or each of theadditional control hubs and the first control hub via a wired networkconnection, and wherein the server comprises hardware memory that storesthe system operation information.
 12. The system of claim 11, whereinthe system operation information includes instructions that instruct thefirst control hub to notify the server: the response from the peripheraldevice is not received by the first control hub; and the first controlhub requested the additional control hubs transmit the test signal. 13.The system of claim 12, wherein the server hardware memory storesinstructions that instruct the server to notify a user: the responsefrom the peripheral device is not received by the first control hub; andthe first control hub requested the additional control hubs transmit thetest signal.
 14. The system of claim 11, wherein the system operationinformation includes instructions that instruct the at least one of theadditional control hubs to notify the server the takeover instructionsare executed by the second control hub.
 15. The system of claim 11,wherein the server hardware memory stores instructions that instruct theserver to notify a user the takeover instructions are executed by the atleast one of the additional control hubs.
 16. The system of claim 9,wherein one or more of the peripheral device microcontroller, the firstcontrol hub hardware memory, or the second control hub hardware memorycomprise signal communication instructions for communicating long rangespread spectrum signals, narrowband frequency shift keying signals, orboth, and wherein the signal communication instructions are executed byone or more of the peripheral device microcontroller, the first controlhub hardware processors, or the second control hub hardware processorsto transmit long range spread spectrum signals, narrowband frequencyshift keying signals, or both, via one or more of the peripheral devicetransceiver, the first control hub transceiver, or the second controlhub transceiver.
 17. A method comprising accessing, by one or morehardware processors of a first control hub, control instructions for aperipheral device stored in hardware memory of the first control hub;processing, by the first control hub hardware processors, the controlinstructions; transmitting, by a transceiver of the first control hub,the control instructions to the peripheral device; listening, by thefirst control hub transceiver, for a control response from theperipheral device, wherein the listening is performed over an expectedresponse timeframe, and wherein the response is in response to thecontrol instructions; requesting, by the first control hub, that one ormore additional control hubs transmit a test signal, wherein the firstcontrol hub processors execute the requesting step when the firstcontrol hub does not receive the control response from the peripheraldevice within the expected response timeframe; transmitting, by one ormore of the first control hub transceiver or a transceiver of at leastone of the additional control hubs, the test signal; and taking overcontrol of the peripheral device by the at least one of the additionalcontrol hubs, wherein the at least one of the additional control hubsexecutes the takeover upon receiving a test signal response from theperipheral device, and wherein the at least one of the additionalcontrol hubs controls the peripheral device.
 18. The method of claim 17,further comprising receiving the control instructions at a transceiverof the peripheral device.
 19. The method of claim 18, further comprisingexecuting the control instructions at a microcontroller of theperipheral device.
 20. The method of claim 17, wherein the transmittingthe test signal, the transmitting the control instructions, or both,comprises one or more of long range spread spectrum signal transmissionor narrowband frequency shift keying signal transmission.